#ifndef __4D3F9323_C198_40d4_8638_4FB042C92B3A__
#define __4D3F9323_C198_40d4_8638_4FB042C92B3A__

#include "../import/head.h"
#include "../interface/head.h"
#include "../tools/head.h"

/////////////////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos_common
{

    class sha : public xos_stl::mem_pool_item< sha, thread_lock >,
        public i_sha
    {
    public:
        sha();
        ~sha();

    protected:
        void * m_pCtx;

    public:
        int init();
        int term();

    public:
        int cal_sha( const char * lpszBuf, int nLen );
        int get_sha( char * lpszBuf, int nLen );
        int release();

    };
} // xos_common

#endif // __4D3F9323_C198_40d4_8638_4FB042C92B3A__
